/*
 * paginacion.h
 *
 *  Created on: 29/09/2009
 */

#ifndef PAGINACION_H_
#define PAGINACION_H_

/* En el x86, el tamanio de una pagina es de 4kb = 4096 bytes */
#define PAGE_SIZE	4096

/* Cantidad de paginas por cada tabla de paginas */
#define	MAX_PAGES	1024

/* Direccion fisica donde comienza la tabla de directorios, alineada a 4kb */
#define DIR_ADDRESS 0x9C000

/* Cantidad de direcciones de 32 bits en 1 pagina */
#define COUNT_DIR_BY_PAGE	1024

/* PROTOTIPOS: */

void initPageStatus(void);

void initPaging(void);

int enablePage(unsigned long * table, int pagenum);

int disablePage(unsigned long * table, int pagenum);

int GetPageNumByPID(int pid);

#endif /* PAGINACION_H_ */
